import nibabel as nib
import matplotlib.pyplot as plt
import numpy as np

def load_and_display_nii(file_path):
    """
    加载并显示NIfTI格式的3D医学图像

    参数:
        file_path: NIfTI文件路径
    """
    # 加载NIfTI文件
    img = nib.load(file_path)
    data = img.get_fdata()

    # 获取图像信息
    print(f"图像维度: {data.shape}")
    print(f"数据类型: {data.dtype}")
    print(f"体素间距: {img.header.get_zooms()}")

    # 显示中间切片
    slice_idx = data.shape[2] // 2
    plt.imshow(data[:, :, slice_idx].T, cmap='gray', origin='lower')
    plt.title(f'NIfTI图像 - 切片 {slice_idx}')
    plt.colorbar()
    plt.show()

if __name__ == "__main__":
    # 替换为你的NII文件路径
    nii_file = "volume-0.nii"
    load_and_display_nii(nii_file)
